package cn.fintecher.pangolin.entity.elastic;

import cn.fintecher.pangolin.common.annotation.ExcelAnno;
import cn.fintecher.pangolin.common.utils.Constants;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;

import java.util.Date;

/**
 * @Auther: xiaqun
 * @Description: 留案案件导入模型
 * @Date: 17:15 2019/10/14
 */

@Data
@Document(indexName = Constants.LEAVE_CASE_MODEL, type = Constants.LEAVE_CASE_MODEL, shards = 1, replicas = 0)
@ApiModel(value = "留案案件导入模型", description = "留案案件导入模型")
public class LeaveCaseModel {
    @ApiModelProperty(value = "主键ID")
    @Id
    private String id;

    @ApiModelProperty(value = "案件编号")
    @ExcelAnno(cellName = "案件编号", fieldDataType = ExcelAnno.FieldDataType.STRING, fieldType = ExcelAnno.FieldType.LEAVE)
    private String caseNumber;

    @ApiModelProperty(value = "批次号")
    private String batchNumber;

    @ApiModelProperty(value = "委托方ID")
    private String principalId;

    @ApiModelProperty(value = "委托方名称")
    private String principalName;

    @ApiModelProperty(value = "卡号")
    @ExcelAnno(cellName = "卡号", fieldDataType = ExcelAnno.FieldDataType.STRING, fieldType = ExcelAnno.FieldType.LEAVE)
    private String cardNo;

    @ApiModelProperty(value = "证件号")
    @ExcelAnno(cellName = "证件号", fieldDataType = ExcelAnno.FieldDataType.STRING, fieldType = ExcelAnno.FieldType.LEAVE)
    private String certificateNo;

    @ApiModelProperty(value = "客户姓名")
    @ExcelAnno(cellName = "客户姓名", fieldDataType = ExcelAnno.FieldDataType.STRING, fieldType = ExcelAnno.FieldType.LEAVE)
    private String personalName;

    @ApiModelProperty(value = "到期日期")
    @ExcelAnno(cellName = "到期日期", fieldDataType = ExcelAnno.FieldDataType.DATE, fieldType = ExcelAnno.FieldType.LEAVE)
    private Date date;

    @ApiModelProperty(value = "备注")
    @ExcelAnno(cellName = "备注", fieldDataType = ExcelAnno.FieldDataType.STRING, fieldType = ExcelAnno.FieldType.LEAVE)
    private String remark;

    @ApiModelProperty(value = "原退案日期")
    private Date originalDate;

    @ApiModelProperty(value = "撤销标记 0-未撤销 1-已撤销")
    private Integer flag = 0;
}
